package com.hm.ibsm.manage.service;

import com.hm.common.su.bean.PageInfo;
import com.hm.common.su.bean.PageInfo.PageParam;
import com.hm.ibsm.manage.uti.ManageShareDef;
import com.hm.ibsm.manage.vo.user.UserDetailVo;
import com.hm.ibsm.manage.vo.user.UserVo;

/**
 * @author shishun.wang
 * @date 下午11:49:59 2017年1月31日
 * @version 1.0
 * @describe
 */
public interface UserService {
	
	public String HTTP_INVOKER_EXPORT_CONTEXT = "/HttpInvokerEndpoing/manage/UserService/" + ManageShareDef.HttpInvokerEndpoing.VERSION;

	/**
	 * 添加用户
	 * 
	 * @param user
	 */
	public void addUser(UserVo user);

	/**
	 * 修改用户
	 * 
	 * @param userId
	 * @param user
	 */
	public void updateUser(String userId, UserVo user);

	/**
	 * 删除用户
	 * 
	 * @param userId
	 */
	public void deleteUser(String userId);

	/**
	 * 根据电话号码查找用户
	 * 
	 * @param mobile
	 * @return
	 */
	public UserDetailVo getUserByMobile(String mobile);

	/**
	 * 根据邮箱查找用户
	 * 
	 * @param email
	 * @return
	 */
	public UserDetailVo getUserByEmail(String email);

	/**
	 * 根据账户查找用户
	 * 
	 * @param account
	 * @return
	 */
	public UserDetailVo getUserByAccount(String account);

	/**
	 * 根据用户id获取用户详情
	 * 
	 * @param userId
	 * @return
	 */
	public UserDetailVo getUserDetail(String userId);

	/**
	 * 分页模糊查询数据
	 * 
	 * @param page
	 * @param userName
	 * @param account
	 * @param email
	 * @param mobile
	 * @return
	 */
	public PageInfo<UserVo> query(PageParam page, String userName, String account, String email, String mobile);

}
